The ModelCC Model-Based Parser Generator
نویسندگان
چکیده
Formal languages let us define the textual representation of data with precision. Formal grammars, typically in the form of BNF-like productions, describe the language syntax, which is then annotated for syntax-directed translation and completed with semantic actions. When, apart from the textual representation of data, an explicit representation of the corresponding data structure is required, the language designer has to devise the mapping between the suitable data model and its proper language specification, and then develop the conversion procedure from the parse tree to the data model instance. Unfortunately, whenever the format of the textual representation has to be modified, changes have to propagated throughout the entire language processor tool chain. These updates are time-consuming, tedious, and error-prone. Besides, in case different applications use the same language, several copies of the same language specification have to be maintained. In this paper, we introduce ModelCC, a model-based parser generator that decouples language specification from language processing, hence avoiding many of the problems caused by grammar-driven parsers and parser generators. ModelCC incorporates reference resolution within the parsing process. Therefore, instead of returning mere abstract syntax trees, ModelCC is able to obtain abstract syntax graphs from input strings.
منابع مشابه
A Model-Driven Probabilistic Parser Generator
Existing probabilistic scanners and parsers impose hard constraints on the way lexical and syntactic ambiguities can be resolved. Furthermore, traditional grammar-based parsing tools are limited in the mechanisms they allow for taking context into account. In this paper, we propose a model-driven tool that allows for statistical language models with arbitrary probability estimators. Our work on...
متن کاملThe ModelCC Model-Driven Parser Generator
Syntax Tree Concrete Syntax Model Abstract Syntax Model instance of instance of Textual Representation Parser input output Context-Free Grammar e.g. BNF Conceptual Model Textual Representation Parser Abstract Syntax Graph Concrete Syntax Model Abstract Syntax Model instance of instance of
متن کاملA DSL for Mapping Abstract Syntax Models to Concrete Syntax Models in ModelCC
Syntax Tree Concrete Syntax Model Abstract Syntax Model instance of instance of Textual Representation Parser input output Figure 1: Traditional language processing. Context-Free Grammar e.g. BNF Conceptual Model Textual Representation Parser Abstract Syntax Graph Concrete Syntax Model Abstract Syntax Model instance of instance of
متن کاملAn Efficient XML Parser Generator Using Compiler Compiler Technique
This paper describes design issues and experiment results of an efficient XML parser generator, Xsong. A traditional compiler construction technique is applied to Xsong so that it realizes both expressiveness and efficiency for parsing XML documents. To compare with the performance of DOM based programs, SAX based programs and a program generated by Xsong, experiments were designed. The experim...
متن کاملFeature Engineering in Persian Dependency Parser
Dependency parser is one of the most important fundamental tools in the natural language processing, which extracts structure of sentences and determines the relations between words based on the dependency grammar. The dependency parser is proper for free order languages, such as Persian. In this paper, data-driven dependency parser has been developed with the help of phrase-structure parser fo...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- CoRR
دوره abs/1501.03458 شماره
صفحات -
تاریخ انتشار 2015